package Example12;

import java.util.*;

/*
* 华为的算法笔试题，https://blog.csdn.net/github_39500681/article/details/77715653 和这个类似，
* 只不过矩形的宽度不一定为1。一直在往贪心算法那个方面想，结果没有那么复杂。因为这个矩形的顺序我们不能改变，
*  它要求连续。参照解法一，采用双重for循环来遍历所有情况找出最大面积值。
*  还有一种解法，可以从两端向中间搜索，因为它要求连续，这个连续区间一定在内部。
 */
public class Main {

    public static void main(String[] args) {
        Scanner scanner=new Scanner(System.in);

        String line = scanner.nextLine();
        String s = line.replace("[", "").replace("]", "").replace(",", " ");
        String[] split = s.split(" ");
        int data[]=new int[split.length];
        for (int i=0;i<split.length;i++){
            data[i]=Integer.parseInt(split[i]);
        }

        int x[]=new int[data.length/2];
        int y[]=new int[data.length/2];
        for (int i=0;i<data.length/2;i++){
            x[i]=data[i];
        }
        int k=0;
        for (int j=data.length/2;j<data.length;j++){
            y[k++]=data[j];
        }

        int area=0;
        int minHeight=0;
        int currentWidth=0;
        for (int i = 0; i <y.length; i++) {
            minHeight=y[i];
            currentWidth=x[i];
            for (int j = i+1; j < y.length; j++) {
                currentWidth+=x[j];
                minHeight=Math.min(minHeight,y[j]);
                if(currentWidth*minHeight>area)
                    area=currentWidth*minHeight;
            }
        }

        System.out.println("最大面积为:"+area);
    }
}
